delete(String table, String whereClause, String[] whereArgs)
delete(String table, String whereClause, String[] whereArgs)
String table 表名稱
String whereClause 條件語句,相當於where關鍵字,
String[] whereArgs 對應條件語句的值的數組,注意若有多個值則需與selection中的多個條件(?符號)一一對應
中間 "vocabulary like ?" 是條件語句 , ? 是占位符 保留 like 後面的參數 , arrayOf(vocabulary) 是這個參數的集合 , 在下這個例子我們要刪掉 的 Row , vocabulary 這個Column (欄位) 的 data 會是 whereArgs 傳入的集合之中所包含的參數
dbrw.delete("myTable","vocabulary like ?", arrayOf(vocabulary))
在下這個例子我們要刪掉 的 Row , vocabulary 這個Column (欄位) 的 data 會是 "Apple"
dbrw.delete("myTable","vocabulary like ?", arrayOf("Apple"))
將佔位符 ? 拿掉 , 放置我們需要的參數 , whereArgs 就不需傳入要替代的值了
dbrw.delete("myTable","vocabulary like 'Apple'", null)
我們也可以執行 SQL 語句去刪掉 Row , WHERE語句用於指定條件 指定一個運算符(下面是 =), ' ' 是放置我們要比較的對象 , 透過下面的語句我們會刪除的Row vocabulary 這個Column (欄位) data 為 $vocabulary 的 column
dbrw.execSQL("delete from myTable WHERE vocabulary = '$vocabulary'")
如果沒指定任何條件,會刪除整個資料表的資料
dbrw.delete("myTable",null, null)
update(String table, ContentValues values, String whereClause, String[] whereArgs)
String table 表名稱
ContentValues values ContentValues類似一個map.通過鍵值對的形式存儲值
String whereClause 條件語句,相當於where關鍵字
String[] whereArgs 對應條件語句的值的數組,注意若有多個值則需與selection中的多個條件(?符號)一一對應
這裏要傳入的參數whereClause whereArgs 意義和 delete 是一樣的條件句 , 就不再多解釋 , 放置的 ContentValues
包含我們所要更新 的 key(欄位) 跟 value(他的data)
val values = ContentValues()
values.put("mean", "鳳梨")
dbrw.update("myTable", values, "vocabulary = 'Apple'", null);
執行 SQL 語句 :
SET mean = '鳳梨' 更改 mean 這個欄位 的 data 為 鳳梨 , WHERE vocabulary = 'Apple' 被更改的Row 條件為
vocabulary 欄位 的 data 必須是 Apple
dbrw.execSQL("UPDATE myTable SET mean = '鳳梨' WHERE vocabulary = 'Apple'")